#ifndef __sheet_h__
#define __sheet_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "types.h"

/* header files for imported files */
#include "element.h"

/* header files for imported files */
#include "rulescol.h"

/* header files for imported files */
#include "pagescol.h"

/* header files for imported files */
#include "sheetcol.h"

#ifndef __IHTMLStyleSheetsCollection_FWD_DEFINED__
#define __IHTMLStyleSheetsCollection_FWD_DEFINED__
typedef interface IHTMLStyleSheetsCollection IHTMLStyleSheetsCollection;
#endif     /* __IHTMLStyleSheetsCollection_FWD_DEFINED__ */

#ifndef __IHTMLStyleSheet_FWD_DEFINED__
#define __IHTMLStyleSheet_FWD_DEFINED__
typedef interface IHTMLStyleSheet IHTMLStyleSheet;
#endif     /* __IHTMLStyleSheet_FWD_DEFINED__ */

#ifndef __IHTMLStyleSheet2_FWD_DEFINED__
#define __IHTMLStyleSheet2_FWD_DEFINED__
typedef interface IHTMLStyleSheet2 IHTMLStyleSheet2;
#endif     /* __IHTMLStyleSheet2_FWD_DEFINED__ */

#ifndef __IHTMLStyleSheet_INTERFACE_DEFINED__

#define __IHTMLStyleSheet_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLStyleSheet;


MIDL_INTERFACE("3050f2e3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheet : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE put_title(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_title(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_parentStyleSheet(
         /* [out] */ IHTMLStyleSheet* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_owningElement(
         /* [out] */ IHTMLElement* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_disabled(
         /* [in] */ VARIANT_BOOL v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_disabled(
         /* [out] */ VARIANT_BOOL * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readOnly(
         /* [out] */ VARIANT_BOOL * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_imports(
         /* [out] */ IHTMLStyleSheetsCollection* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_href(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_href(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_type(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_id(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE addImport(
            /* [in] */ BSTR bstrURL,/* [in] */ long lIndex,/* [out] */ long* plIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE addRule(
            /* [in] */ BSTR bstrSelector,/* [in] */ BSTR bstrStyle,/* [in] */ long lIndex,/* [out] */ long* plNewIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeImport(
            /* [in] */ long lIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeRule(
            /* [in] */ long lIndex) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_media(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_media(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_cssText(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_cssText(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_rules(
         /* [out] */ IHTMLStyleSheetRulesCollection* * p) = 0;

};

#endif     /* __IHTMLStyleSheet_INTERFACE_DEFINED__ */


#ifndef __IHTMLStyleSheet2_INTERFACE_DEFINED__

#define __IHTMLStyleSheet2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLStyleSheet2;


MIDL_INTERFACE("3050f3d1-98b5-11cf-bb82-00aa00bdce0b")
IHTMLStyleSheet2 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE get_pages(
         /* [out] */ IHTMLStyleSheetPagesCollection* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE addPageRule(
            /* [in] */ BSTR bstrSelector,/* [in] */ BSTR bstrStyle,/* [in] */ long lIndex,/* [out] */ long* plNewIndex) = 0;

};

#endif     /* __IHTMLStyleSheet2_INTERFACE_DEFINED__ */



EXTERN_C const GUID GUID_HTMLStyleSheet;



EXTERN_C const GUID DIID_DispHTMLStyleSheet;


#ifndef _CStyleSheet_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheettitle;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetparentStyleSheet;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetowningElement;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetdisabled;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetreadOnly;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetimports;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheethref;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheettype;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetid;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCStyleSheetaddImport;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCStyleSheetaddRule;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCStyleSheetremoveImport;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCStyleSheetremoveRule;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetmedia;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetcssText;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetrules;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCStyleSheetpages;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCStyleSheetaddPageRule;

#endif


#endif /*__sheet_h__*/

